
const Customer = require( '../models/customer' );
const Topic = require( '../models/topic' );
const Comment = require( '../models/comment' );

console.log( '维护关联关系' );

// 维护从 Customer 到 Topic 的 一对多 关联关系
// 其中 foreignKey 用于指定在 目标模型 Topic 对应表中的外键名称
Customer.hasMany( Topic , { foreignKey: 'cid' } );
// 维护从 Topic 到 Customer 的 多对一 关联关系
// 其中 targetKey 用于指定被引用的 目标模型 Customer 的主键名称
// 其中 foreignKey 用于指定 源模型 Topic 中的外键名称
Topic.belongsTo( Customer , { targetKey: 'id' , foreignKey: 'cid' } );

// 维护从 Customer 到 Comment 的 一对多 关联关系
// 其中 foreignKey 用于指定在 目标模型 Comment 对应表中的外键名称
Customer.hasMany( Comment , { foreignKey: 'cid' } );
// 维护从 Comment 到 Customer 的 多对一 关联关系
// 其中 foreignKey 用于指定 源模型 Comment 中的外键名称
Comment.belongsTo( Customer , { foreignKey: 'cid' });

// 维护从 Topic 到 Comment 的 一对多 关联关系
Topic.hasMany( Comment , { foreignKey: 'tid' } );
// 维护从 Comment 到 Topic 的 多对一 关联关系
Comment.belongsTo( Topic , { foreignKey: 'tid' } );